#include <iostream>
#include <forward_list>

template <typename T>
void Print(const T &v)
{
    for (auto ite = v.begin(); ite != v.end(); ite++)
    {
        std::cout << *ite << " ";
    }
    std::cout << std::endl;
}

int main()
{
    std::forward_list<int> l;
    // l.push_front(10);
    // Print(l);
    // auto ite = l.begin() + 1;  //不支持随机迭代器
    // auto ite = l.before_begin();
    // ite++;
    // l.insert_after(ite, 1);
    // Print(l);

    // l.erase_after();
    for (int i = 0; i < 10; i++)
    {
        l.push_front(i + 1);
    }
    std::forward_list<int> l2;
    for (int i = 0; i < 10; i++)
    {
        l2.push_front(i + 1);
    }
    
    Print(l);
    Print(l2);
    l.merge(l2);
    Print(l);
    Print(l2);
    return 0;
}
